#ifndef __SCENE_H__
#define __SCENE_H__

#include <list>
#include "framework.h"
#include "controller/controller.h"
#include "view/sceneLights.h"

class Scene : public IFrameworkCallbacks {
	private:
		std::list<Controller*> controllerList;
		std::list<Controller*>::iterator activeController;
		SceneLights lights;
	public:
		Scene();
		~Scene();
		void timer(int value);
		void init();
		void redisplay();
		void restart();
		void reshape(int oldW,int oldH,int w,int h);

		void mousePressed(int key,int state,int x ,int y);
		void mouseMotion(int x ,int y);

		void keyboard(unsigned char key,int x ,int y);
		void specKeyboard(int key,int x ,int y);
	private:
		void processKey(unsigned char key);
};

#endif //__SCENE_H__
